module.exports = app => {
  const mongoose = app.mongoose;
  const Schema = mongoose.Schema;

  const ChatmsgSchema = new Schema({
    ownerWxid: { type: String, required: true, index: true }, // 所属微信号
    msgtype: { type: String, required: true }, // 消息类型（如 text/image 等）
    fromtype: { type: String, required: true }, // 消息来源（如 group/friend）
    fromwxid: { type: String, required: true }, // 来源群 wxid 或用户 wxid
    finalfrom_wxid: { type: String, required: true }, // 真实发送者 wxid
    finalfrom_groupnick: { type: String }, // 发消息者的群昵称（可选）
    message: { type: String }, // 消息内容（可为空，视 msgtype 而定）
    timestamp: { type: Number, required: true }, // 时间戳（整型）
    date: { type: Date, default: Date.now }, // 转换后的时间（方便查询）
    isparts: { type: Boolean, default: false }, // 是否为拆分消息的一部分
    issend: { type: Boolean, default: false }, // 是否已发送
  });

  // 索引建议（提高查询效率）
  ChatmsgSchema.index({ fromwxid: 1 });
  ChatmsgSchema.index({ finalfrom_wxid: 1 });
  ChatmsgSchema.index({ timestamp: -1 });

  return mongoose.model('Chatmsg', ChatmsgSchema, 'chatmsg');
};
